dont_starve_gamefandomcom_vi-20200214-history
Console/Lệnh Don't Starve Together
Lệnh Console được mở mặc định. Nếu vì lý do gì mà nó không có, trước tiên bạn cần thực hiện vài điều chỉnh trong tệp settings.ini trong sao lưu của bạn. Cái này có thể tìm trong thư mục "DoNotStarveTogether", nằm trong đường dẫn sau: Windows, Mac: \Klei\DoNotStarveTogether\client.ini Linux: ~/.klei/DoNotStarve/client.ini Xác định settings.ini và mở nó bằng Notepad hay các công cụ văn bản khác. Tìm phần MISC , và chắc rằng có ENABLECONSOLE = true theo nó. Nếu nó hiện false, hãy thay đổi và lưu lại. Rồi mở console khi đang trong game bằng phím "~'" theo mặc định trong bàn phím tiếng Anh. Điều này có thể thay đổi bắt cứ lúc nào trong menu Điều Khiển. '''Mình khuyến khích bạn dùng mod hơn. Bạn tham khảo 2 mod này: Admin Scoreboard+ (có godmode, dập lửa, ''hồi sinh, chế độ sáng tạo, drop đồ, giết người chơi), Fix for Too Many Items (spawn đồ nhanh, có cách lệnh cơ bản, ...) Lưu ý: * Bạn phải nhập lại hầu hết mọi lệnh sau khi nạp một thế giới. * Lua hỗ trợ số lượng đối số cho hàm nhất định, nên nếu, chẳng hạn, bạn chỉ muốn sinh ra một tiền tố, bạn có thể bỏ qua "số lượng": "c_spawn('beefalo')". * Nếu bạn không phải là máy chủ (hoặc là một máy chủ chuyên dụng mà bạn quản trị), hầu hết lệnh cần phải chạy từ xa. Nhấn Ctrl cùng console đang mở chuyển sang chế độ lệnh từ xa. Một vài lệnh (như là tiết lộ bản đồ) vẫn thực hiện cục bộ. Nhiều Lệnh Don't Starve vẫn còn trong DST, vậy nên bạn cũng có thể đọc nó. Lệnh đơn giản *'Sinh tiền tố' c_spawn("tiền tố", số lượng tiền tố) Cải tiền từ DebugSpawn("tiền tố"), sinh một lượng "tiền tố" đã chọn dưới con trỏ chuột.(ko nhất thiết phải nhập số lượng) *'Đưa vật dụng' c_give("tiền tố", số lượng) Sinh một lượng "tiền tố" đã chọn trong túi đồ của bạn. Chỉ hoạt động với Ba Lô và Vật Dụng mà có thể chứa trong túi đồ. *'Go Adventuring' c_goadventuring() Cung cấp một bộ các vật phẩm bắt đầu cho người chơi. *'Kịch bản (chưa thử)' c_doscenario(scenario) Áp dụng một nguyên bản kịch bản để lựa chọn và chạy nó. *'Máu' c_sethealth(phần trăm) Đặt máu của bạn đến phần trăm đã chọn. Lưu ý: Dùng phân số 0.90 = 90%. *'Tinh Thần' c_setsanity(phần trăm) Đặt tinh thần của bạn đến phần trăm đã chọn. Lưu ý: Dùng phân số 0.90 = 90%. *'Sức Đói' c_sethunger(phần trăm) Đặt sức đói của bạn đến phần trăm đã chọn. Lưu ý: Dùng phân số 0.90 = 90%. *'Độ Ẩm' c_setmoisture(phần trăm) Đặt độ ẩm của bạn theo tỷ lệ phần trăm đã chọn. Lưu ý: Sử dụng số phân số 0,90 = 90%. *'Nhiệt Độ' c_settemperature(độ) Đặt nhiệt độ của bạn theo tỷ lệ phần trăm đã chọn. Lưu ý: Sử dụng số phân số 0,90 = 90%. *'Chế Độ Bất Tử' c_godmode() Nó sẽ không còn giảm Tinh Thần, Sức Đói hay Máu khi bị tấn công nữa. Bạn không thể thay đổi các chỉ số với các lệnh khi đang bất tử. Nếu bạn đã chết, hồi sinh lại. Để tắt Chế Độ Bất Tử, dùng lệnh lần nữa. Có thể dùng lệnh này để hồi sinh chính mình hoặc người chơi khác trong server. VD: c_godmode(2), 2 ở đây là số thứ tự của người chơi khi ấn phím Tab. *'Chế Độ Siêu Bất Tử' c_supergodmode() Giống như Chế Độ Bất Tử những cũng đặt đầy đủ toàn bộ chỉ số. * Duy trì sức khỏe của bạn c_maintainhealth(ThePlayer) Tương tự như supergodmode, nhưng liên tục phục hồi sức khỏe của bạn. Để hủy bỏ, c_cancelmaintaintasks(ThePlayer). * Duy trì sự tỉnh táo của bạn c_maintainsanity(ThePlayer) Tương tự như supergodmode, nhưng liên tục tái tạo sự tỉnh táo của bạn. Để hủy, nhập c_cancelmaintaintasks(ThePlayer). * Duy trì cơn đói của bạn c_maintainhunger(ThePlayer) Tương tự như supergodmode, nhưng liên tục tái tạo cơn đói của bạn. Để hủy, nhập c_cancelmaintaintasks(ThePlayer). * Duy trì nhiệt độ của bạn c_maintaintemperature(ThePlayer) Tương tự như supergodmode, nhưng liên tục tái tạo nhiệt độ của bạn. Để hủy bỏ, enter c_cancelmaintaintasks(ThePlayer). * Duy trì độ ẩm của bạn c_maintainmoisture(ThePlayer) Tương tự như supergodmode, nhưng liên tục tái tạo độ ẩm của bạn. Để hủy, nhập c_cancelmaintaintasks(ThePlayer). * Duy trì tất cả c_maintainall(ThePlayer) Tương tự như supergodmode, nhưng liên tục phục hồi tất cả các chỉ số. Để hủy, nhập c_cancelmaintaintasks(ThePlayer). *'Mob tàng hình' c_makeinvisible() Ngăn chặn mob từ mục tiêu người chơi trong chiến đấu. Không hoạt động trong mọi hoàn cảnh. *'Cài tăng tốc độ di chuyển' c_speedmult(hệ số) Tốc độ chạy chuẩn là 1. 2 khiến bạn nhanh gấp đôi và với 20 hoặc hơn bạn có thể dễ dàng đâm qua tường và đi "trên" biển. Có nhiều lệnh khác, nhưng chúng khó dùng và không quá hữu ích. Lệnh người chơi Lưu ý: Hầu hết chúng không hoạt động nếu bạn là máy khách và không có quản trị gửi một điều khiển từ xa (chuyển sang chế độ từ xa bằng Ctrl) . *'Dự đoán hành động' ThePlayer:EnableMovementPrediction(enable/false) Mặc định là kích hoạt, đặt nó là "false" sẽ thay đổi rubberbanding for choppiness, nhưng thường hữu ích trong chiến đấu. Điều này chỉ thực hiện mọi thứ nếu thực thi bởi máy khách, máy chủ không có dự đoán. *'Chế độ sáng tạo' GetPlayer().components.builder:GiveAllRecipes() Bạn có thể chế tạo mọi thứ. *'Máu tối đa' ThePlayer.components.health:SetMaxHealth(giá trị) Thay đổi Máu Tối Đa của Nhân Vật *'Tinh Thần tối đa' ThePlayer.components.sanity:SetMax(giá trị) Thay đổi Tinh Thần Tối Đa của Nhân Vật *'Sức Đói tối đa' ThePlayer.components.hunger:SetMax(giá trị) Thay đổi Sức Đói Tối Đa của Nhân Vật *'Ngừng Sức Đói' ThePlayer.components.hunger:Pause(true) Nhân Vật sẽ không còn chết đói nữa. * Thay đổi hệ số sát thương ThePlayer.components.combat.damagemultiplier=(giá trị) Thay đổi Hệ số sát thương của nhân vật. *'Biến đổi người sói' c_setbeaverness(percentage) Biến Woodie thành Ma Hải Ly. Đặt thành 1 để chuyển đổi thành Ma Hải Ly. Đặt thành 0 nếu bạn muốn chuyển đổi trở lại Woodie. Lệnh Nhân Vật Khác Lưu ý: Nhiều lệnh sau that mà thường áp dụng cho nhân vật, như là c_godmode() hay c_sethealth(1), có thể dùng cho khác nhân vật khác bằng cách dùng c_select(AllPlayerssố) ở đầu. Vậy nên bạn sẽ cần một danh sách người chơi để lấy số người chơi: *'Danh sách tất cả người chơi với tên truy cập và số.' c_listallplayers() *'Chọn một người chơi nào đó' AllPlayerssố AllPlayers1 sẽ chọn ThePlayer nếu bạn là mấy chủ. Những người chơi khác phải có số hiển thị trên bảng (Trong một số tình huống, số có thể sai. Bạn có thể chắc chắn hơn bằng cách dùng c_listallplayers() ở đầu để xem tên người dùng và nhân vật cho mỗi số người chơi. Hầu hết lệnh ThePlayer có thể dùng với AllPlayerssố thay cho ThePlayer. *'Dùng một lệnh đến tất cả người chơi' for k,v in pairs(AllPlayers) do command end Thay lệnh bằng một lệnh khác, dùng "v" thay cho AllPlayerssố. Ví dụ, "for k,v in pairs(AllPlayers) do c_move(v) end" sẽ di chuyển tất cả người chơi đến vị trí chuột. *'Di chuyển đến người chơi khác' c_move(AllPlayerssố) Chuyển người chơi đến vị trí con trỏ. *'Giết một người chơi' AllPlayerssố:PushEvent('death') *'Hồi sinh một người chơi' AllPlayerssố:PushEvent('respawnfromghost') *'Cung cấp chế độ sáng tạo cho người chơi' AllPlayerssố.components.builder:GiveAllRecipes() Cung cấp chế độ sáng tạo cho người chơi. *'Dịch chuyển đến người chơi' c_goto(AllPlayerssố) Viễn dịch bạn đến người chơi tương ứng với số người chơi từ c_listallplayers(). *'Drop mọi vật phẩm trong kho của người chơi' AllPlayerssố.components.inventory:DropEverything() Bỏ mọi thứ từ kho của người chơi tương ứng với số người chơi từ c_listallplayers() *'Sinh lại một nhân vật của người chơi (trở về màn hình chọn nhân vật để chọn lại)' c_despawn(AllPlayerssố) Điều này sẽ xóa hết vật dụng trong túi đồ của họ, vậy bạn nên giết họ trước để làm rớt vật dụng ra. Lệnh thế giới *'Dịch chuyển đến tiền tố' c_gonext("tiền tố") Sau khi nhấn Enter, nó viễn dịch bạn đến trường hợp tiền tố được đặt tên dạng số đầu tiên. Nếu lập lại nhiều tiền tố tồn tại, một danh sách số cá thể sẽ xuất hiện trong bảng ghi console, và mỗi thực thi của cùng lệnh tiếp theo sẽ đưa người chơi từ cá thể này đến cá thể khác theo thứ tự chúng được tao ra trong thế giới. *'Xóa Vật Dụng Dưới Chuột' TheInput:GetWorldEntityUnderMouse():Remove() c_select() c_sel():Remove() Sau khi nhấn Enter, Nó sẽ xóa vật dụng dưới chuột. Dùng lệnh thứ hai trong máy chủ chuyên dụng, lệnh đầu tiên không hoạt động. *'Xóa hết' for k,v in pairs(Ents) do if v.prefab "tiền tố" then v:Remove() end end Sau khi nhấn enter, nó sẽ xóa mọi phiên bản của bất kỳ mục tiền tố nào được nhập. Hữu ích cho các máy chủ chạy dài với nhiều lộn xộn. *'Tiết Lộ Bản Đồ - Cho bản thân' minimap = TheSim:FindFirstEntityWithTag("minimap") TheWorld.minimap.MiniMap:ShowArea (0,0,0,10000) for x=-1600,1600,35 do for y=-1600,1600,35 do ThePlayer.player_classified.MapExplorer:RevealArea(x,0,y) end end Đây là một lệnh dành cho máy chủ và sẽ không hoạt động nếu bạn là máy khách. *'Tiết lộ bản đồ - Cho tất cả người chơi' for k,v in pairs(AllPlayers) do for x=-1600,1600,35 do for y=-1600,1600,35 do v.player_classified.MapExplorer:RevealArea(x,0,y) end end end Đây là một lệnh dành cho máy chủ và sẽ không hoạt động nếu bạn là máy khách. *'Nhảy ngày' TheWorld:PushEvent("ms_nextcycle") *'Nhảy thời gian' TheWorld.net.components.clock:OnUpdate(16*30*x) Nhảy qua x ngày. Thay x để nhảy nhiều ngày hơn hay một phần ngày (vd 16*30*4.5 để nhảy 4.5 ngày) ''Cảnh Báo:'' Giá trị quá lớn có thể làm đơ game. (Tùy vào tốc độ máy tính) *'Nhảy đơn vị thời gian và cập nhật' LongUpdate(X) Nhảy X đơn vị thời gian và thực hiện hàm "LongUpdate" lên các đối tượng thế giới ''Lưu ý:'' Có 30 đơn vị thời gian mỗi phân đoạn. Để nhảy nguyên một ngày ta có thể sử dụng hoặc LongUpdate(480) hoặc dùng giá trị tích như là LongUpdate(X*16*30) hay LongUpdate(X*TUNING.TOTAL_DAY_TIME), với X=ngày nhảy. *'Nhảy pha' TheWorld:PushEvent("ms_nextphase") *'Đặt phân đoạn' TheWorld:PushEvent("ms_setclocksegs", {day=x,dusk=y,night=z}) Đặt lượng phân đoạn. Lỗi nếu if x + y + z thêm vào quá 16. Lưu ý rằng điều này sẽ làm mới vào ngày kế tiếp. Ví dụ: TheWorld:PushEvent("ms_setclocksegs", {day=14,dusk=1,night=1}) Ngày rất dài, hoàng hôn và đêm rất ngắn (một phân đoạn cho hoàng hôn và một cho đêm) *'Đặt phân đoạn mùa' TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=sx,dusk=sy,night=sz}, winter={day=wx,dusk=wy,night=wz}}) Đặt lượng phân đoạn. Lỗi nếu x + y + z thêm vào quá 16. Không như setclocksegs, đây là cố định. Ví dụ: TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=14,dusk=1,night=1}, winter={day=13,dusk=1,night=2}}) Ngày rất dài, hoàng hôn và đêm rất ngắn (một phân đoạn cho hoàng hôn và một cho đêm), cùng với đêm dài hơn một chút vào Mùa Đông. *'Đặt độ dài mùa' TheWorld:PushEvent("ms_setseasonlength", {season="summer", length=15})\ *'Bắt đầu Mùa Hè' TheWorld:PushEvent("ms_setseason", "summer") *'Bắt đầu Mùa Đông' TheWorld:PushEvent("ms_setseason", "winter") *'Bắt đầu Mùa Xuân' TheWorld:PushEvent("ms_setseason", "spring") *'Bắt đầu Mùa Thu' TheWorld:PushEvent("ms_setseason", "autumn") *'Bắt đầu Mưa' TheWorld:PushEvent("ms_forceprecipitation") *'Ngừng Mưa' TheWorld:PushEvent("ms_forceprecipitation", false) Điều này gồm cả Mưa Ếch. *'Làm Sét đánh' TheWorld:PushEvent("ms_sendlightningstrike", TheInput:GetWorldPosition()) Sét đánh lên vị trí chuột. Sẽ trúng Cột Thu Lôi thay vào đó nếu có một cái gần đó *'Làm Thiên Thạch rơi' c_spawn("shadowmeteor", 1) Thiên Thạch rơi lên vị trí chuột. Sinh ra các loại đá ngẫu nhiên. *'Đo khoảng cách' print(math.sqrt(ThePlayer:GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse()))) In khoảng cách giữa người chơi vời đối tượng dưới chuột vào bảng ghi console (hiển thị bằng Ctrl + L theo mặc định). Lệnh Mạng/Máy Chủ *'Sút/Cấm một người chơi' TheNet:Kick(userid) TheNet:Ban(userid) Lưu ý rằng điều này có thể thực hiện dễ dàng hơn thông qua bảng điểm. userid có thể kiếm trong bảng AllPlayers. Một khi bạn tìm thấy số của the người chơi bạn muốn sút (như trên trong phần Lệnh Người Chơi Khác), bạn có thể dùng AllPlayers#.userid. Vậy, ví dụ, với người chơi 2, TheNet:Kick(AllPlayers2.userid). *'Tạm cấm một người chơi' TheNet:BanForTime(userid,time_in_seconds) Người chơi có thể bị cấm trong một khoảng thời gian ngắn. userid là viết tắt cho KU id của người chơi bị cấm. Sau khi kiếm được có thể đặt nó ở dạng: TheNet:BanForTime("KU_aabbccdd", 120). Điều này sẽ cấm người chơi với KU id cụ thể trong 120 giây. Lệnh này cũng nên nhập vào cả hai máy chủ nếu máy chủ có tùy chọn đa cấp (Hang Động và overworld). *'Kết nối đến một máy chủ' c_connect("địa chỉ IP", cổng, "mật khẩu") Nếu kết nối thông thường không hoạt động, có thể kết nói trực tiếp đến một địa chỉ IP. Theo mặc định, cổng là 10999. Nếu không có mật khẩu, bạn có thể bỏ trống: c_connect("10.0.0.8", 10999) *'Nạp lại thế giới' c_reset() Nạp lại thế giới mà không lưu. Lệnh này có thể đổ vỡ game của bạn nếu bạn là một máu khách (trừ khi bạn gửi nó như lệnh từ xa). *'Tái tạo thế giới' c_regenerateworld() Xóa thế giới hiện tại và tạo một cái mới. *'Lưu máy chủ' c_save() Buộc máy chủ lưu ngay lập tức (máy chủ thường tự động lưu bất cứ khi nào kết thú đêm). *'Tắt máy chủ' c_shutdown( true / false) true sẽ lưu game, false sẽ thoát mà không lưu. c_shutdown() giống như c_shutdown(true). *'Phục hồi máy chủ' c_rollback(count) Phục hồi một máy chủ bằng số lượng sao lưu đã cho. c_rollback() sẽ lùi lại một, while c_rollback(3) sẽ lùi lại ba. *'Cho phép/Vô hiệu người chơi mới tham gia' TheNet:SetAllowIncomingConnections( true / false ) Đặt nó là true là hành vi mặc định (mọi người có thể vào). Đặt là false ngăn người khác tham gia. *'Tạo một thông báo máy chủ (với console máy chủ chuyên dụng)' c_announce("announcement") Điều này cho phép bạn thông báo tắt/chạy lại máy chủ để người chơi không bị ngắt kết nối mà không có thông báo. Lệnh Linh Tinh *'Dọn Nhà Xác' ErasePersistentString("morgue") Dọn nhà xác. Cần đóng rồi mở lại game để xem thay đổi. *'Tính số lượng một thứ trong thế giới' c_countprefabs("tiền tố") Trong máy chủ chuyên dụng the kết quả được in trên console máy chủ *'Sinh Hố Giun' *# Thật ra không có một dòng lệnh, làm theo như sau. *# Sinh Hồ Giun 1 : c_spawn("wormhole") *# Đánh dấu Hố Giun 1 (mouse over wormhole) : worm1 = c_select() *# Sinh Hồ Giun 2 : c_spawn("wormhole") *# Đánh dấu Hố Giun 2 (mouse over wormhole) : worm2 = c_select() *# Tạo kết nối đến: worm1.components.teleporter.targetTeleporter = worm2 *# Và quay lại: worm2.components.teleporter.targetTeleporter = worm1 *# XONG! en:Console/Don't Starve Together Commands Thể_loại:Lối Chơi Thể_loại:Don't Starve Together